local longhun = fk.CreateSkill {
    name = "#steam__mingju_active",
  }
  
  longhun:addEffect("viewas", {
    pattern = "peach,slash,jink,nullification",
    handly_pile = true,
    expand_pile=function(self,player)
      return player:getTableMark("mingju-phase")
    end,
    card_filter = function(self,player, to_select, selected)
      local touse=player:getTableMark("mingju-phase")
      if not table.contains(touse,to_select) then
        return false
      end
      if #selected == 1 then
        return false
      else
        local suit = Fk:getCardById(to_select).suit
        local c
        if suit == Card.Heart then
          c = Fk:cloneCard("peach")
        elseif suit == Card.Diamond then
          c = Fk:cloneCard("fire__slash")
        elseif suit == Card.Club then
          c = Fk:cloneCard("jink")
        elseif suit == Card.Spade then
          c = Fk:cloneCard("nullification")
        else
          return false
        end
        Fk.currentResponsePattern =Fk.currentResponsePattern or player:getMark("mingju-pattern")
        return (Fk.currentResponsePattern == nil and c.skill:canUse(player, c)) or
          (Fk.currentResponsePattern and Exppattern:Parse(Fk.currentResponsePattern):match(c))
      end
    end,
    view_as = function(self, player, cards)
      if #cards == 0 or #cards > 2 then return end
      local suit = Fk:getCardById(cards[1]).suit
      local c
      if suit == Card.Heart then
        c = Fk:cloneCard("peach")
      elseif suit == Card.Diamond then
        c = Fk:cloneCard("fire__slash")
      elseif suit == Card.Club then
        c = Fk:cloneCard("jink")
      elseif suit == Card.Spade then
        c = Fk:cloneCard("nullification")
      else
        return nil
      end
      c.skillName = longhun.name
      c:addSubcards(cards)
      return c
    end,
    before_use = function(self, player, use)
      local num = #use.card.subcards
      if num == 2 then
        local suit = Fk:getCardById(use.card.subcards[1]).suit
        if suit == Card.Diamond then
          use.additionalDamage = (use.additionalDamage or 0) + 1
        elseif suit == Card.Heart then
          use.additionalRecover = (use.additionalRecover or 0) + 1
        end
      end
    end,
  })
  
  return longhun
  